package com.wicket.okrapp.web.contorller;

import com.github.pagehelper.Page;
import com.wicket.okrapp.biz.service.DashboardTargetContentService;
import com.wicket.okrapp.biz.service.dto.req.*;
import com.wicket.okrapp.biz.service.dto.res.*;
import com.wicket.okrapp.common.ro.OkrResult;
import com.wicket.okrapp.common.util.CommonFunctionHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @date ：
 *
 * 
 * @version 1.0
 */
@RestController
@RequestMapping("/app/dashboardTargetContent/")
public class DashboardTargetContentController {

  @Autowired
  DashboardTargetContentService dashboardTargetContentService;
/**
   * D3批量查询汇报任务By归属对象ID
   */
    @PostMapping("batchQueryReportTaskCom")
    public OkrResult<BatchQueryReportTaskComRespDto> batchQueryReportTaskCom(@RequestBody @Validated BatchQueryReportTaskComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.batchQueryReportTaskCom(reqDTO));
    }
/**
   * D3查询下级目标周期列表(公共)
   */
    @PostMapping("querySubEvaObjjTargetCycleListCom")
    public OkrResult<QuerySubEvaObjjTargetCycleListComRespDto> querySubEvaObjjTargetCycleListCom(@RequestBody @Validated QuerySubEvaObjjTargetCycleListComReqDto reqDTO){
    Page<?> page = CommonFunctionHelper.startPage(reqDTO.getPageNum(),reqDTO.getPageSize());

        QuerySubEvaObjjTargetCycleListComRespDto retData = dashboardTargetContentService.querySubEvaObjjTargetCycleListCom(reqDTO);

        retData.setPageNum(page.getPageNum());
        retData.setPageSize(page.getPageSize());
        retData.setTotalNum(page.getTotal());
        return OkrResult.success(retData);

    }
/**
   * D3查询评价模板下一级指标列表(公共)
   */
    @PostMapping("queryEvaTempPrimaryObjectiveListCom")
    public OkrResult<QueryEvaTempPrimaryObjectiveListComRespDto> queryEvaTempPrimaryObjectiveListCom(@RequestBody @Validated QueryEvaTempPrimaryObjectiveListComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.queryEvaTempPrimaryObjectiveListCom(reqDTO));
    }
/**
   * D3批量查询目标周期by被评对象内容表主键ID(公共)
   */
    @PostMapping("batchQueryEvaObjTargetCycleByEvaObjEntityIdCom")
    public OkrResult<BatchQueryEvaObjTargetCycleByEvaObjEntityIdComRespDto> batchQueryEvaObjTargetCycleByEvaObjEntityIdCom(@RequestBody @Validated BatchQueryEvaObjTargetCycleByEvaObjEntityIdComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.batchQueryEvaObjTargetCycleByEvaObjEntityIdCom(reqDTO));
    }
/**
   * D3批量查询人员小圈子By就职记录(公共)
   */
    @PostMapping("batchQueryVirtualOrgMemberByinducRecIdCom")
    public OkrResult<BatchQueryVirtualOrgMemberByinducRecIdComRespDto> batchQueryVirtualOrgMemberByinducRecIdCom(@RequestBody @Validated BatchQueryVirtualOrgMemberByinducRecIdComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.batchQueryVirtualOrgMemberByinducRecIdCom(reqDTO));
    }
/**
   * D3批量查询任务(公共)
   */
    @PostMapping("batchQueryTaskDataCom")
    public OkrResult<BatchQueryTaskDataComRespDto> batchQueryTaskDataCom(@RequestBody @Validated BatchQueryTaskDataComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.batchQueryTaskDataCom(reqDTO));
    }
/**
   * D3批量查询部门下人员小圈子（去重）(公共)
   */
    @PostMapping("batchQueryDeptSubPersonnelSmallCoterieRemoDupCom")
    public OkrResult<BatchQueryDeptSubPersonnelSmallCoterieRemoDupComRespDto> batchQueryDeptSubPersonnelSmallCoterieRemoDupCom(@RequestBody @Validated BatchQueryDeptSubPersonnelSmallCoterieRemoDupComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.batchQueryDeptSubPersonnelSmallCoterieRemoDupCom(reqDTO));
    }
/**
   * D3查询问题列表(公共)
   */
    @PostMapping("queryProblemListCom")
    public OkrResult<QueryProblemListComRespDto> queryProblemListCom(@RequestBody @Validated QueryProblemListComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.queryProblemListCom(reqDTO));
    }
/**
   * D3查询任务列表(公共)
   */
    @PostMapping("queryTaskListCom")
    public OkrResult<QueryTaskListComRespDto> queryTaskListCom(@RequestBody @Validated QueryTaskListComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.queryTaskListCom(reqDTO));
    }
/**
   * D3查询部门下人员小圈子列表(公共)
   */
    @PostMapping("queryDeptSubPersonnelSmallCoterieRemoDupListCom")
    public OkrResult<QueryDeptSubPersonnelSmallCoterieRemoDupListComRespDto> queryDeptSubPersonnelSmallCoterieRemoDupListCom(@RequestBody @Validated QueryDeptSubPersonnelSmallCoterieRemoDupListComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.queryDeptSubPersonnelSmallCoterieRemoDupListCom(reqDTO));
    }
/**
   * D3查询评价模板下指标列表(公共)
   */
    @PostMapping("queryEvaTempObjectiveListCom")
    public OkrResult<QueryEvaTempObjectiveListComRespDto> queryEvaTempObjectiveListCom(@RequestBody @Validated QueryEvaTempObjectiveListComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.queryEvaTempObjectiveListCom(reqDTO));
    }
/**
   * D3查询目标评价模板列表(公共)
   */
    @PostMapping("queryTargetEvaTempListCom")
    public OkrResult<QueryTargetEvaTempListComRespDto> queryTargetEvaTempListCom(@RequestBody @Validated QueryTargetEvaTempListComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.queryTargetEvaTempListCom(reqDTO));
    }
/**
   * D3批量查询问题By归属对象ID(公共)
   */
    @PostMapping("batchQueryProblemCom")
    public OkrResult<BatchQueryProblemComRespDto> batchQueryProblemCom(@RequestBody @Validated BatchQueryProblemComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.batchQueryProblemCom(reqDTO));
    }
/**
   * D3准备评价模板大屏归属周期等(公共)
   */
    @PostMapping("preparationEvaTempAttributionCycleEtcCom")
    public OkrResult<PreparationEvaTempAttributionCycleEtcComRespDto> preparationEvaTempAttributionCycleEtcCom(@RequestBody @Validated PreparationEvaTempAttributionCycleEtcComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.preparationEvaTempAttributionCycleEtcCom(reqDTO));
    }
/**
   * D3查询重点关注列表(公共)
   */
    @PostMapping("queryKeyFocusListCom")
    public OkrResult<QueryKeyFocusListComRespDto> queryKeyFocusListCom(@RequestBody @Validated QueryKeyFocusListComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.queryKeyFocusListCom(reqDTO));
    }
/**
   * D3批量查询被评对象目标周期By内容ID(公共)
   */
    @PostMapping("batchQueryEvaObjTargetCycleByContIdCom")
    public OkrResult<BatchQueryEvaObjTargetCycleByContIdComRespDto> batchQueryEvaObjTargetCycleByContIdCom(@RequestBody @Validated BatchQueryEvaObjTargetCycleByContIdComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.batchQueryEvaObjTargetCycleByContIdCom(reqDTO));
    }
/**
   * D3批量查询目标周期By主键(公共)
   */
    @PostMapping("batchQueryTargetCycleByEntityCom")
    public OkrResult<BatchQueryTargetCycleByEntityComRespDto> batchQueryTargetCycleByEntityCom(@RequestBody @Validated BatchQueryTargetCycleByEntityComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.batchQueryTargetCycleByEntityCom(reqDTO));
    }
/**
   * D3批量查询部门简称By目标周期(公共)
   */
    @PostMapping("batchQueryDeptNameByTargetCycleIdCom")
    public OkrResult<BatchQueryDeptNameByTargetCycleIdComRespDto> batchQueryDeptNameByTargetCycleIdCom(@RequestBody @Validated BatchQueryDeptNameByTargetCycleIdComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.batchQueryDeptNameByTargetCycleIdCom(reqDTO));
    }
/**
   * D3批量查询个人信息By目标周期(公共)
   */
    @PostMapping("batchQueryUserInfoByTargetCycleIdCom")
    public OkrResult<BatchQueryUserInfoByTargetCycleIdComRespDto> batchQueryUserInfoByTargetCycleIdCom(@RequestBody @Validated BatchQueryUserInfoByTargetCycleIdComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.batchQueryUserInfoByTargetCycleIdCom(reqDTO));
    }
/**
   * D3执行转单字段父子中周期类型(公共)
   */
    @PostMapping("implementTurnSingleFieldParentSubMidCycleTypeCom")
    public OkrResult<ImplementTurnSingleFieldParentSubMidCycleTypeComRespDto> implementTurnSingleFieldParentSubMidCycleTypeCom(@RequestBody @Validated ImplementTurnSingleFieldParentSubMidCycleTypeComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.implementTurnSingleFieldParentSubMidCycleTypeCom(reqDTO));
    }
/**
   * D3查询部门下一级指标目标周期列表(公共)
   */
    @PostMapping("queryDeptPrimaryObjectiveTargetCycleListCom")
    public OkrResult<QueryDeptPrimaryObjectiveTargetCycleListComRespDto> queryDeptPrimaryObjectiveTargetCycleListCom(@RequestBody @Validated QueryDeptPrimaryObjectiveTargetCycleListComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.queryDeptPrimaryObjectiveTargetCycleListCom(reqDTO));
    }
/**
   * D3转周期类型查询下级目标周期列表(公共)
   */
    @PostMapping("querySubordinateTargetCycleListCom")
    public OkrResult<QuerySubordinateTargetCycleListComRespDto> querySubordinateTargetCycleListCom(@RequestBody @Validated QuerySubordinateTargetCycleListComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.querySubordinateTargetCycleListCom(reqDTO));
    }
/**
   * D3查询模板或目标分类下一级指标列表(公共)
   */
    @PostMapping("queryTempOrCategoryPrimaryObjectiveListCom")
    public OkrResult<QueryTempOrCategoryPrimaryObjectiveListComRespDto> queryTempOrCategoryPrimaryObjectiveListCom(@RequestBody @Validated QueryTempOrCategoryPrimaryObjectiveListComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.queryTempOrCategoryPrimaryObjectiveListCom(reqDTO));
    }
/**
   * D3执行单字段转父子中周期类型(公共)
   */
    @PostMapping("implementSingleFieldTurnParentSubMidCycleTypeCom")
    public OkrResult<ImplementSingleFieldTurnParentSubMidCycleTypeComRespDto> implementSingleFieldTurnParentSubMidCycleTypeCom(@RequestBody @Validated ImplementSingleFieldTurnParentSubMidCycleTypeComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.implementSingleFieldTurnParentSubMidCycleTypeCom(reqDTO));
    }
/**
   * D3查询目标看板周期信息详情
   */
    @PostMapping("queryTargetSpectacularCycleInfoDetail")
    public OkrResult<QueryTargetSpectacularCycleInfoDetailRespDto> queryTargetSpectacularCycleInfoDetail(@RequestBody @Validated QueryTargetSpectacularCycleInfoDetailReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.queryTargetSpectacularCycleInfoDetail(reqDTO));
    }
/**
   * D3分析当前最新子周期(公共)
   */
    @PostMapping("analysisCurNewSubCycleCom")
    public OkrResult<AnalysisCurNewSubCycleComRespDto> analysisCurNewSubCycleCom(@RequestBody @Validated AnalysisCurNewSubCycleComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.analysisCurNewSubCycleCom(reqDTO));
    }
/**
   * D3查询评价模板指标列表(公共)
   */
    @PostMapping("queryEvaTempObjListCom")
    public OkrResult<QueryEvaTempObjListComRespDto> queryEvaTempObjListCom(@RequestBody @Validated QueryEvaTempObjListComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.queryEvaTempObjListCom(reqDTO));
    }
/**
   * D3查询父子中目标归属周期列表(公共)
   */
    @PostMapping("queryParentSubMidTargetCycleListCom")
    public OkrResult<QueryParentSubMidTargetCycleListComRespDto> queryParentSubMidTargetCycleListCom(@RequestBody @Validated QueryParentSubMidTargetCycleListComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.queryParentSubMidTargetCycleListCom(reqDTO));
    }
/**
   * D3批量查询父子中目标归属周期(公共)
   */
    @PostMapping("batchQueryParentSubMidTargetCycleCom")
    public OkrResult<BatchQueryParentSubMidTargetCycleComRespDto> batchQueryParentSubMidTargetCycleCom(@RequestBody @Validated BatchQueryParentSubMidTargetCycleComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.batchQueryParentSubMidTargetCycleCom(reqDTO));
    }
/**
   * D3批量查询汇报任务明细By归属对象ID(公共)
   */
    @PostMapping("batchQueryReportTaskDetailsByEtityIdCom")
    public OkrResult<BatchQueryReportTaskDetailsByEtityIdComRespDto> batchQueryReportTaskDetailsByEtityIdCom(@RequestBody @Validated BatchQueryReportTaskDetailsByEtityIdComReqDto reqDTO){
    Page<?> page = CommonFunctionHelper.startPage(reqDTO.getPageNum(),reqDTO.getPageSize());

        BatchQueryReportTaskDetailsByEtityIdComRespDto retData = dashboardTargetContentService.batchQueryReportTaskDetailsByEtityIdCom(reqDTO);

        retData.setPageNum(page.getPageNum());
        retData.setPageSize(page.getPageSize());
        retData.setTotalNum(page.getTotal());
        return OkrResult.success(retData);

    }
/**
   * D3查询汇报任务明细列表(公共)
   */
    @PostMapping("queryReportTaskDetailsListCom")
    public OkrResult<QueryReportTaskDetailsListComRespDto> queryReportTaskDetailsListCom(@RequestBody @Validated QueryReportTaskDetailsListComReqDto reqDTO){
    Page<?> page = CommonFunctionHelper.startPage(reqDTO.getPageNum(),reqDTO.getPageSize());

        QueryReportTaskDetailsListComRespDto retData = dashboardTargetContentService.queryReportTaskDetailsListCom(reqDTO);

        retData.setPageNum(page.getPageNum());
        retData.setPageSize(page.getPageSize());
        retData.setTotalNum(page.getTotal());
        return OkrResult.success(retData);

    }
/**
   * D3批量查询汇报任务明细列表By资料ID
   */
    @PostMapping("batchQueryReportTaskDetailsListByIdsCom")
    public OkrResult<BatchQueryReportTaskDetailsListByIdsComRespDto> batchQueryReportTaskDetailsListByIdsCom(@RequestBody @Validated BatchQueryReportTaskDetailsListByIdsComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.batchQueryReportTaskDetailsListByIdsCom(reqDTO));
    }
/**
   * D3新增重点关注(公共)
   */
    @PostMapping("addKeyFocusCom")
    public OkrResult<AddKeyFocusComRespDto> addKeyFocusCom(@RequestBody @Validated AddKeyFocusComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.addKeyFocusCom(reqDTO));
    }
/**
   * D3删除重点关注(公共)
   */
    @PostMapping("deleteKeyFocusCom")
    public OkrResult<DeleteKeyFocusComRespDto> deleteKeyFocusCom(@RequestBody @Validated DeleteKeyFocusComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.deleteKeyFocusCom(reqDTO));
    }
/**
   * D3批量改重点关注(公共)
   */
    @PostMapping("batchUpdateKeyFocusCom")
    public OkrResult<BatchUpdateKeyFocusComRespDto> batchUpdateKeyFocusCom(@RequestBody @Validated BatchUpdateKeyFocusComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.batchUpdateKeyFocusCom(reqDTO));
    }
/**
   * D3查询部门下所有人员小圈子列表（含非直属去重）(公共)
   */
    @PostMapping("queryDeptSubAllPersonnelSmallCoterieRemoDupListCom")
    public OkrResult<QueryDeptSubAllPersonnelSmallCoterieRemoDupListComRespDto> queryDeptSubAllPersonnelSmallCoterieRemoDupListCom(@RequestBody @Validated QueryDeptSubAllPersonnelSmallCoterieRemoDupListComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.queryDeptSubAllPersonnelSmallCoterieRemoDupListCom(reqDTO));
    }
/**
   * D3分析汇报任务归属周期(公共)
   */
    @PostMapping("analysisReportTaskBelongCycleCom")
    public OkrResult<AnalysisReportTaskBelongCycleComRespDto> analysisReportTaskBelongCycleCom(@RequestBody @Validated AnalysisReportTaskBelongCycleComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.analysisReportTaskBelongCycleCom(reqDTO));
    }
/**
   * D3查询大屏汇报任务明细列表(公共)
   */
    @PostMapping("queryDashboardReportTaskDetailsListCom")
    public OkrResult<QueryDashboardReportTaskDetailsListComRespDto> queryDashboardReportTaskDetailsListCom(@RequestBody @Validated QueryDashboardReportTaskDetailsListComReqDto reqDTO){
    Page<?> page = CommonFunctionHelper.startPage(reqDTO.getPageNum(),reqDTO.getPageSize());

        QueryDashboardReportTaskDetailsListComRespDto retData = dashboardTargetContentService.queryDashboardReportTaskDetailsListCom(reqDTO);

        retData.setPageNum(page.getPageNum());
        retData.setPageSize(page.getPageSize());
        retData.setTotalNum(page.getTotal());
        return OkrResult.success(retData);

    }
/**
   * D3查询评价模板下内容列表(公共)
   */
    @PostMapping("queryConOfEvaTempleteListCom")
    public OkrResult<QueryConOfEvaTempleteListComRespDto> queryConOfEvaTempleteListCom(@RequestBody @Validated QueryConOfEvaTempleteListComReqDto reqDTO){
    return OkrResult.success(dashboardTargetContentService.queryConOfEvaTempleteListCom(reqDTO));
    }
}
